package com.rainng.coursesystem.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.rainng.coursesystem.model.entity.MemberEventEntity;
import com.rainng.coursesystem.model.vo.response.table.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface MemberEventMapper extends BaseMapper<MemberEventEntity> {

    Integer count(@Param("teamName")String teamName, @Param("eventName")String eventName, @Param("memberName")String memberName);

    IPage<MemberEventItemVO> getPage(IPage<MemberEventItemVO> page, @Param("teamName")String teamName, @Param("eventName")String eventName, @Param("memberName") String memberName);

    Integer countLeaderBudget(@Param("leaderId")Integer leaderId,@Param("eventName") String eventName,@Param("memberName") String memberName);

    IPage<LeaderBudgetItemVO> getLeaderBudgetPage(IPage<LeaderBudgetItemVO> page, @Param("leaderId")Integer leaderId, @Param("eventName")String eventName, @Param("memberName") String memberName);

    List<MemberEventSelectedItemVO> listMemberEventSelected(Integer memberId);

    Integer countMemberEventSelectedByTimePart(@Param("memberId")Integer memberId,@Param("timePart") String timePart);

    List<TimetableItemVO> listMemberTimetable(Integer memberId);
}
